Network protocols for distributing functions within a network

ABSTRACT

A network protocol distributes control and lookup functions among various network elements. Plural servers are permitted to service the same domain name without requiring re-mapping. Each client or server is permitted to have a different network quality of service level that is provided by one or more network elements of a network or server quality of service level that is provided by a server.

FIELD OF THE INVENTION

[0001] The present invention is directed to the transfer of informationvia a network and, more particularly, to network protocols that permitcontrol functions, such as content and application switching functions,to be distributed among various locations within a network.

BACKGROUND OF THE INVENTION

[0002] The protocols used in the Internet, as originally intended,permit only one server to correspond to a given service and a givendomain name. Transfer control protocol (TCP) and Internet protocol (IP),referred to as TCP/IP, are examples of Internet protocols that weredesigned to allow one application running on one computer to communicatewith another application running on another computer or on the samecomputer. The one-to-one mapping is fundamental to the protocols used,and the various infrastructure protocols that were created to support arapidly growing global TCP/IP-based Internet were designed to facilitateand support the one-to-one communications.

[0003] As an example of one-to-one communication, a user of a clientdevice browser program, or similar program, enters the domain name of anInternet site, enters a uniform resource locator (URL) that includes adomain name, clicks on a hyperlink to a domain name or to a URL, orotherwise requests a domain name or a URL using hypertext transferprotocol (HTTP), file transfer protocol (FTP) or Telnet, and the browserprogram or similar program sends a request to a domain name system (DNS)server to look up the domain name or URL and obtain the Internet addressthat corresponds to the domain name or the URL. The DNS server respondsby sending the Internet address of the server that serves the selectedInternet site or domain name. Only one Internet address is stored foreach domain name.

[0004] Other Internet protocols are similarly constructed, such asHypertext Transfer Protocol (HTTP), Diffserv, IPsec, Secure SocketsLayer (SSL), etc.

[0005] The recent explosive growth in Internet and World Wide Web (Web)activity has created a demand for some Web sites or Internet servicesthat far exceeds the capacity of a single server. To prevent serveroverloading, a “server farm” is used in which multiple servers eachstore the same Web pages or Internet services. A switching device, suchas a content switch, is disposed between the servers of the server farmand the rest of the Internet to process incoming requests from clientdevices and send the requests to one of the servers. Their incomingrequest includes an Internet address that corresponds to the desireddomain name but which actually directs the request to the switchingdevice. Because the Internet permits only one network address tocorrespond to a given domain name, the presence of multiple servers thateach serve the same Web sites or Internet pages cannot be made known tothe client device or to the servers. The content switch must thereforere-map the Internet address contained in the request with the Internetaddress of the respective server so that it appears to the server thatit is connected directly to the client device. Further, the contentswitch must send responses to the client device that emulate theexistence of only a single server and must also re-map the Internetaddress contained in the responses.

[0006] The re-mapping operations thus requires additional content switchprocessing resources. However, applications that require contentswitches are becoming increasingly common, thus further taxing thecontent switch resources and potentially creating processing delays.Content switches are also costly.

[0007] It is therefore desirable that a network be configured thataccommodates the existence of multiple servers for a given service.

[0008] Further, newer services, such as multimedia streaming services,required additional bandwidth that is not needed for either networkfunctions. However, many of the presently used applications or presentnetworks do not permit the network or a server to provide differentqualities of service for a respective client or for a particularservice.

[0009] It is therefore desirable to provide the network with thecapability of providing different qualities of service.

SUMMARY OF THE INVENTION

[0010] The present invention provides network protocols that distributecontrol and lookup functions among the various network elements, such asto permit plural servers to provide the same services without requiringre-mapping and to permit each client or server to have different networkquality of service or server quality of service levels.

[0011] In accordance with an aspect of the invention, the transfer ofinformation via a network is controlled. A request is received from aclient device for a network address that is associated with a service. Arespective one of a plurality of network addresses is selected, each ofwhich corresponds to a respective one of a plurality of servers that areavailable to provide the service. The respective network address istransmitted to the client device so that the client device may transmitat least one service request associated with the service that is to bedirected to the respective network address.

[0012] According to another aspect of the invention, a request todetermine whether a client device is associated with at least onequality of service level is received from one of a services databaseserver and a domain name server. A response to the request istransmitted to the server such that the server selects a respective oneof a plurality of network addresses, each of which corresponds to arespective one of a plurality of servers that are available to provide aservice, based on the response.

[0013] According to a further aspect of the invention, a request by aservice server that is currently designated to receive service requestsfrom a client device is transmitted to a further service server for thefurther server to receive further service requests from the clientdevice.

[0014] The service server and the further server are each associatedwith a common service. A response from the further service server isreceived. When the response is favorable, an indication to the clientdevice that the further service request are to be directed to thefurther server is transmitted.

[0015] According to a still further aspect of the invention, a requestfor an available further service server that is associated with aservice is received from a service server that is currently designatedto receive service requests from a client device. The service server andthe available further service server are each associated with theservice. A network address for the available further service server istransmitted to the server such that the server may transmit a request tothe further service server for the further service server to receiveservice requests from the client device.

[0016] According to yet another aspect of the invention, a request for aquality of service level associated with a client device is transmittedto a database. The quality of service level associated with the clientdevice is received from the database. A request to provide the qualityof service level is transmitted to a network. When the request for thequality of service level is accepted, a notification of the quality ofservice level is transmitted to the client device.

[0017] According to still another aspect of the invention, a request toprovide a quality of service level for a client device is received fromeither a server or a client device. A request to verify that the qualityof the service level is associated with the client device is transmittedto a database. When the quality of service level is verified, anotification is transmitted to the server or the client device that therequest to provide the quality of service is accepted.

[0018] In accordance with an additional aspect of the invention, arequest to verify whether a client device is associated with a qualityof service level is received from at least one of a network and aserver. A response to the request is transmitted to the network or theserver such that the network provides the quality of service level forthe client device based on the response.

[0019] According to a still additional aspect of the invention, aservice request at a quality of service level is received from a clientdevice. A request to verify that the quality of service level isassociated with the client device is transmitted to a database. When thequality of service level is verified, a response is transmitted to theclient device at the quality of service level.

[0020] Other features and advantages of the present invention willbecome apparent from the following detailed description of the inventionwith reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The invention will now be described in greater detail in thefollowing detailed description with reference to the drawings in which:

[0022]FIG. 1 is a block diagram showing a known arrangement of a networkin which each domain name is serviced by a single server.

[0023]FIG. 2 is a block diagram showing a known arrangement of a networkin which a domain name may be serviced by plural servers in a serverfarm that are connected to the Internet via a content switch.

[0024]FIG. 3 is a block diagram showing an example of an arrangement inwhich plural servers service a respective domain name or URL using aprotocol in accordance with of the protocol of the invention.

[0025]FIG. 4 is a block diagram showing an example of an arrangement inwhich plural servers service a respective domain name or URL and inwhich plural qualities of service are provided using a protocol of theinvention.

[0026]FIG. 5 is a diagram showing known requests and responses between aclient device, a DNS and a server.

[0027]FIG. 6 is a diagram showing a transaction in which a client deviceobtains service in accordance with an example of a protocol of theinvention.

[0028]FIG. 7 is a diagram showing a service handoff between servers inaccordance with an example of a protocol of the invention.

[0029]FIG. 8 is a diagram showing a server-initiated quality of servicelevel set-up operation in accordance with an example of a protocol ofthe invention.

[0030]FIG. 9 is a diagram showing a client-initiated quality of servicelevel set-up operation in accordance with an example of protocol of theinvention.

DETAILED DESCRIPTION OF THE INVENTION

[0031] The invention provides network protocols that distributeapplication and content functions among various network elements.Included are protocols for performing lookup functions that recognize aone-to-many mapping, that permit an application to take advantage ofload balancing of server farms, and/or permit service level negotiation,cache maintenance, updates of domain name and service type tableentries, client and/or server negotiation with network elements whichmay involve a services database, network element to network elementnegotiation which may involve a services database, and server to servercoordination for load balancing including seamless handoff of a clienttransaction.

[0032] The protocols of the invention also provide the ability toprovide differentiated services as part of an initial server lookup bythe client, such as a lookup by a domain name system server in aservices database. The invention also provides differentiated servicesas part of a client and/or service lookup by a server when a request isreceived, when redirection is requested, or in the middle of a sessionwhen a particular service is accessed. The request may be to a servicesdata base. The invention further provides differentiated services aspart of a lookup by a network element that is attempting to route arequest, such as when a client has paid for a better class of service orwhen a service provider, such as a company with web site, pays a networkservices provider for a better class of client service.

[0033] An explicit one-to-many Internet mapping is provided in place ofthe current Internet one-to-one mapping. Supporting protocols, such asDNS, BGP, and HTTP, may be modified to support the one-to-many mappingas well as service level lookup.

[0034]FIG. 1 shows an example of a known arrangement for a network. Adomain name system (DNS) 120 includes a database having domain names andthe network address, such as the Internet protocol (IP) address, of theserver 130 that services the domain. Only one network address is storedfor each domain name or service so that only one server may be accessedwhen the address of a domain name or service is requested.

[0035] When a user enters the domain name or a URL into a location on abrowser program or similar program screen or when a user clicks on ahyperlink to the domain name or URL, the client device 100 sends arequest via a network 110, such as the Internet, to the DNS server 120and receives the network address from the DNS server via the network.The client device may then transmit service requests to the server 130via the network 110 using the network address. If too many requests aremade to the domain name, the server is overloaded, thus causing delaysand possibly causing the server to fail.

[0036]FIG. 2 illustrates an example of another known network arrangementin which plural servers provide the same service. When a client device200 request a network address from a DNS server 220 in the mannerdescribed above, the DNS server supplies the client device with thenetwork address of a content switch or similar device 230. The clientdevice, using the network address, may send service requests via thenetwork 210 to the content switch 230 in a manner as if the clientdevice were communicating directly with a server. The content switchthen re-maps the network address in the service request with the networkaddress of one of the servers 240, 242, 244, 246, . . . of a server farmand then forwards the service request to the respective server. When therespective server sends a response to the request, it includes thenetwork address of the server and not that of the content switch. Thecontent switch then re-maps the address of server with its own address.Thus, the client device communicates with the content switch as if itwas communicating directly with a single server, and the servercommunicates with the content switch as if it were communicatingdirectly with the client device without the existence of the otherservers.

[0037] The arrangement of FIG. 2, however, requires the use of anadditional network device, such as the content switch, and the use ofadditional processing power and processing time to carry out a remappingstep whenever a service request is transmitted from a client device to aserver.

[0038] Thus, FIG. 3 shows an example of an arrangement in whichprotocols of the invention are provided that permit multiple servers toprovide the same service without requiring added network devices. Anextended domain name system (eDNS) server 320 includes a database thatis capable of storing more than one network address for a particularservice or domain name, namely the network addresses of more than oneserver. The eDNS server may also store information such as theavailability of each of the corresponding servers, the order of priorityfor selecting one of the plural servers, and/or the locations of theservers.

[0039] When a client device 300 sends a request for the network addresscorresponds to a desired service to the eDNS server 320 via a network310 comprised of plural network elements, such as the Internet, anIntranet, a service provider (SP) network, or other networks, the eDNSserver responds by transmitting the network address of one of aplurality of service servers 330, 340, 350, . . . , such as applicationservers, email servers, other messaging servers, Web servers, or otherservice servers. The eDNS server 320 may select the respective serverbased on one or more selection criteria such as the order of priority ofthe servers, the server nearest to the client device, the quality ofservice provided by a particular server, and/or the availability of aserver. The client device 300 may then transmit service requests, viathe network 310, that include the actual network address of the serverthat will service the client.

[0040] The client typically supplies a service request to the eDNSserver that at least includes the service type requested and a domainname. The client may also provide a service-level class request, i.e.request a preferential level of services, wherein the client alsoprovides an identifier that can be mapped to the database associatedwith a particular domain name. The domain name can have its owncollection of service classes subject to further standardization. Theclient may have also already gone to a services database and requested aservice-level authorization, such as for preferential treatment by theserver that will provide the service requested by the client or by thenetwork itself. In such a case, the client will provide a serviceauthorization “handle” that the eDNS server can use to verify theservice-level agreement and to verify the identity of the client.

[0041] The eDNS server also has information from/about the targetprovider, e.g. explicit knowledge of multiple server IP addresses,server “health”, server weighting, server location, etc., that wasnegotiated and/or communicated. When the server or the network isoffering the client an enhanced service level, the eDNS server sends theclient an authorization handle to use when going out over the network,along with a protocol directive on how to proceed. In determining whichIP address, and port number, and other authorizations or directives toreturn to the client, the eDNS server takes into account the clientinformation as well as the server information. The eDNS server may alsoimplement other features such as round-robin load balancing amongavailable servers for a particular service in the absence of anyspecific directive.

[0042] The service servers also communicate “health” information aboutits state of operation to the other servers that are providing aparticular service, even if the servers are geographically separated.The information is used to help each application on the servers toproperly load balance and to potentially recover from application level,network level, or server hardware failures by redirecting clients and byupdating eDNS servers with new health information.

[0043] Further, if the selected server subsequently becomes unavailableduring a session with the client device, the server may “hand-off”operation to another one of the servers by transmitting messages to thenew server, either via the network or by a direct connection with thenew server, and to the client device, via the network. The server thennotifies the eDNS server of its unavailability. Thus, when a serverbecomes overloaded, must be brought down for maintenance or because ofoperational problems, or wishes to transfer the client to a serverbetter suited for a particular service or a particular client, theserver is capable of handing the client device off to another serverwithout interrupting the session at the client device.

[0044]FIG. 4 depicts another example of the invention in which protocolsof the invention permit a client device or a server to select from oneor more quality of service (QoS) levels as well as provide the functionscarried out the network of FIG. 3. The quality of service levels mayinclude different server quality of service levels, such as whether toprovide web pages or other network services that have enhanced featuresor whether to use a better class of server having a lower latency and/orthat handles fewer connections. Alternatively, the class of servicelevels may include different network quality of service levels, such asthe amount of network bandwidth used, etc.

[0045] A services database server 460 stores information concerning thequality of service that is permitted to each of various client devicesand servers. The services data base server receives requests from thenetwork 410 and/or from the servers 430, 440, 450, . . . regardingwhether a respective client and/or a respective server has permission toreceive a higher network quality of service. The server 460 verifieswhether such permission exist and transmits a response to the networkand/or the server. The services database server may also receiverequests from the servers 430, 440, 450, . . . regarding whether arespective client has permission to receive higher server quality ofservice levels and either allows or denies such requests.

[0046]FIG. 5 illustrates an example of the Internet protocol of anexisting network, such as is shown in FIGS. 1 and 2. A user enters arequest for a domain name or a URL using a client device browserprogram, or using an other HTTP request, FTP request or Telnet request,or other Internet protocol request and the client device transmits anAddress Lookup Request to the DNS that request the IP address or othernetwork address of the server that services the requested domain name orURL. The DNS returns the IP address or other network address of theserver or, when more than one server services the requested domain nameor URL, the DNS transmits the IP address or other network address of acontent switch or similar network device. The client device may thentransmit service requests, such as requests for Web pages or othernetwork services, to the server, content switch, or other network deviceusing the address supplied to it by the DNS. When the request isreceived, a response to the service request is sent from the server tothe client device.

[0047]FIGS. 6, 7, 8 and 9 illustrate examples of protocols of theinvention.

[0048] A Universal Resource Locator (URL) is used instead of the domainname. The URL includes a protocol specification, e.g. “http:”, a domainname, e.g. www.yahoo.com, and an optional port number, e.g. “8080”, inthe form of “http://www.yahoo.com:8080”, for example. By using a URL,both the mapping class, i.e. the domain name, and the service type, i.e.the protocol and port specification, are available so that the eDNSserver knows what the client is attempting to do. For example, a singledomain name, i.e. a collection of servers, may provide several differentservices, such as a sub-set of a server farm that provides FTP serviceswhile the entire server farm is provides HTTP services. Thus, the domainname and the service name are used as input for mapping to an IPaddress.

[0049] The eDNS server returns the IP address and port number of serverthat provides the service requested by the client. Alternatively, theeDNS server returns the IP address and port number based on aservice-level agreement looked up in a database, namely a preferredclient gets connected to a server port 8000 rather than the standardport 80 for an HTTP request so that it is given a different priority ora different look and/or feel.

[0050]FIG. 6 illustrates an example of a network protocol of theinvention for basic transactions. First, one or more service serversthat are available to provide the same service, such as Server 1 andServer 2, inform the eDNS server that they are available to acceptservice requests. The available servers each transmit a message, such asa Register Server request, that includes the domain name, the networkaddress of the service server and the services that the service serveraccepts. The servers may also provide authentication and non-repudiationinformation to the eDNS server that establishes the validity of theserver for serving the domain name. When a service server isauthenticated, the eDNS server transmits a message to Server 1 or Server2 that its authentication and non-repudiation has been accepted and addsthe address of the server to a list of network addresses of servers thatare available to provide the service.

[0051] Subsequently, when a client device desires to access a serviceand sends a request to the eDNS for a network address that correspondsto the domain name, the eDNS may first access the services database todetermine whether there are any special permissions or denials that areassociated with the client. As an example, the services database mayrecognize that the client is a frequent user of the requested service,is a prior customer of the requested service, or has paid for a higherquality form of the service, and notifies the eDNS to respond to theclient device with a network address of a server that provides thehigher quality service. Alternatively, the services database recognizesthat the client is an undesired client and informs the eDNS serveraccordingly so that the eDNS server returns the network address of aserver that provides lesser quality service or denies the request of theclient device. As a further alternative, the services database may notrecognize the client device and informs the eDNS server to respond withthe network address of the server that provides standard service.

[0052] The client device may then transmit one or more Service Requeststo the network address provided by the eDNS server. The Service Requestsare delivered to the selected server which, in turn, delivers one ormore responses to the client device. The service server may also, priorto responding to the service request of the client device, transmit arequest to the services database to verify that the quality of servicerequested by the client device is permitted to the client device and,based on the response received from the services database, deliver ordeny the requested quality of service to the client device.

[0053]FIG. 7 illustrates an example of a protocol for carrying out aserver to server hand-off of a client device in accordance with theinvention. As described above, the client device requests a networkaddress of a server that provides a service and receives the networkaddress of a service server, such as Server 1. After the client devicehas transmitted one or more Service Requests to the Server 1 and hasreceived responses thereto, Server 1 transfers communication with theclient to another server. Server 1 first transmits a request to a localdatabase (not shown) or to the eDNS server to determine the networkaddress of the next available server and, as an example, receives theaddress of Server 2. Server 1 transmits a Handoff Request to Server 2that may include information about the client. The client informationmay include cookie or other state information, security information,transaction state information such as the client's shopping cart, orother Open Standard Interconnection (OSI) reference model layers 4 orlayers 5-7 protocol information. When Server 2 is available, Server 2sends a Handoff Acknowledge message to Server 1. Server 1 then transmitsa message, such as a Redirection Notice, that informs the client thatfuture service requests to the service are to be sent to the networkaddress of Server 2. The client may then send Service Request to thenetwork address of Server 2 and receive responses thereto from Server 2.

[0054] Further, Server 1 may also send a message to the eDNS server,such as an Availability Update, that informs the eDNS server that it isno longer available to serve that given domain name. The eDNS serverthen updates its database and replies with a message indicating that theupdate was accepted.

[0055] As an example, Server 1 transmits a Handoff Request to Server 2,as described above, when Server 1 is overloaded with requests, needs toshut down for routine maintenance or to correct an operational problem,or wishes to upgrade or downgrade the server quality of service providedto the client.

[0056]FIG. 8 depicts an example of a protocol for carrying out aserver-initiated network quality of service (QoS) transaction accordingto the invention. After a client transmits a request to the eDNS serverfor a network address corresponding to a desired service and receivesthe network address as described above, the client transmits a ServiceRequest to the service server. The service server sends a response tothe Service Request that includes a message, such as a “Quality ofService Pending” message, that informs the client that the server isdetermining the network quality of service level that is associated withthe client. At the same time, or shortly thereafter, the servertransmits a message to the services database to determine the networkquality of service that the client is permitted to receive. The serviceserver may also request that the services database provide it with theserver quality of service that the client is permitted. The servicesdatabase then looks up the client in its database and informs theservice server of the quality of service level associated with theclient.

[0057] Then, the service server transmits a request to at least onenetwork element of the network that asks the network element to providethe associated quality of service for all communication between theservice server and the client. The network element may also determinewhether the client is entitled to receive the desired quality of serviceand whether the server is permitted to make such a request bytransmitting a verification message to the services database. Whenverification is received from the services database, the network elementtransmits a message to the service server indicating that its requestwas accepted.

[0058] Thereafter, the service server transmits a message to the client,such as a “Quality of Service Setup Done” message, that informs theclient of the network quality of service level that it is to receive.The service server, at this time, may also handoff the client to anotherserver that provides the desired quality of service level, as describedabove, and inform the client of the new network address together withthe quality of service level.

[0059] The level of network quality of service may be transparent to theuser of the client device or, alternatively, may be displayed to theuser at a location on a display screen of the browser program or otherprogram.

[0060] The Quality of Service Setup Done message may be sent to theclient while the client is receiving a response to an earlier ServiceRequest from the server, such as when the client is receiving a Web pagefrom the server. The client may then continue receiving the services orthe Web pages using the new quality of service level, and possibly fromanother server, in “mid-byte stream” without interruption.

[0061] Thereafter, the client may transmit further Service Requestsusing the new quality of service level and receive responsesaccordingly.

[0062]FIG. 9 illustrates an example of a protocol for a quality ofservice level transaction that is initiated by the client. After theclient sends a request to the eDNS server for a network address thatcorresponds to a desired service and receives the network address fromthe eDNS server, as described above, the client transmits a request fora desired network quality of service level to the network.

[0063] At least one network element of the network transmits averification request to the services database to determine whether theclient is permitted to receive service at the desired quality of servicelevel. The services database determines whether the client is entitledto the desired quality of service level and notifies the network elementaccordingly. When the quality of service level request is accepted, thenetwork element delivers a message to the client that the request hasbeen granted. Thereafter, the client may transmit Service Requests usingthe granted quality of service level to the service server and receivesresponses thereto from the service server.

[0064] The service server, before transmitting a grant or deny responseto the client, may also transmit a request to the services database toverify that the client is entitled to receive network and/or serverquality of service at the desired level.

[0065] Thus, by distributing the application switching and contentswitching functions over the network, the protocols of the inventionprovide the network with, for example, the flexibility to provide aclient with one of a plurality of servers that correspond to a requesteddomain name based on the availability of a server, the location of aserver, the server quality of service that is to be provided to theclient and/or the network quality of service to be provided to theclient. As a further example, the protocols of the invention enable aserver to readily handoff a client to another server as needed or toprovide the client with a different server quality of service or networkquality of service. The handoff may be carried out in a manner that istransparent to the client. As an additional example, the protocols ofthe invention permit the ready determination and verification of theservice and the network quality of service network levels to which aclient and/or a server is entitled.

[0066] The invention also permits geographic positioning of the serviceservers to be included in routing decisions. As an example, the serversof a “server farm” may be distributed geographically. The eDNS servermay take into account the physical distance between the client and theservice server when selecting a respective service server. Thegeographical information may be included in the network protocols. As aresult, a company that provides a service may have multiple points ofpresence across a nation, across a continent, or across the globe sothat customers in particular geographic regions are preferentiallyrouted to the nearest point of presence. When the nearest point ofpresence is overloaded or malfunctioning, the client is alternativelyredirected to another point of presence.

[0067] Additionally, the protocols of the invention permit one of aplurality of eDNS servers to function as a “master” server forparticular service or domain name. The master server ensures that anycached entries for the domain name or service are correctly updated inthe other eDNS servers. The master server also propagates changes in theserver mappings, the “health” of respective servers and the weighting ofthe service servers to the other eDNS servers.

[0068] Although the present invention has been described in relation toparticular embodiments thereof, many other variations and modificationsand other uses may become apparent to those skilled in the art. It ispreferred, therefore, that the present invention be limited not by thisspecific disclosure herein, but only by the appended claims.

What is claimed is:
 1. A method, associated with a domain name systemserver, of controlling the transfer of information via a network, saidmethod comprising: receiving, from a client device, a request for anetwork address that is associated with a service; selecting arespective one of a plurality of network addresses each of whichcorresponds to a respective one of a plurality of servers that areavailable to provide said service; transmitting, to said client device,said respective one of said plurality of network addresses so that saidclient device may transmit at least one service request associated withsaid service that is to be directed to said respective one of aplurality of network addresses.
 2. The method of claim 1 furthercomprising: receiving, from at least one further server, an indicationthat said further server is available to receive requests associatedwith said service; and incorporating said network address of saidfurther server into said plurality of network addresses.
 3. The methodof claim 2 wherein said indication includes at least one of: a networkaddress of said further server, said service and authentication andnon-repudiation information.
 4. The method of claim 1 furthercomprising: transmitting, to a database, a request to determine whethersaid client device is associated with at least one quality of servicelevel; receiving, from said database, a response to said request; andselecting said respective one of said plurality of network addressesbased on said response.
 5. A method, associated with a database server,of controlling the transfer of information via a network, said methodcomprising: receiving, from a domain name server, a request to determinewhether a client device is associated with at least one quality ofservice level; transmitting, to said domain name server, a response tosaid request such that said domain name server selects a respective oneof a plurality of network addresses, each of which corresponds to arespective one of a plurality of servers that are available to provide aservice, based on said response.
 6. The method of claim 5 wherein saidquality of service level is further associated with said service.
 7. Amethod, associated with a server that is currently designated to receiveservice requests from a client device, of controlling the transfer ofinformation via a network, said method comprising: transmitting arequest to a further server for said further server to receive furtherservice requests from said client device; said server and said furtherserver each being associated with a service; receiving a response fromsaid further server; and transmitting, when said response is favorable,an indication to said client device that said further service requestsare to be directed to said further server.
 8. The method of claim 7further comprising: transmitting, when said response is favorable, anindication to a domain name server that said server is unavailable toreceive service requests associated with said service.
 9. The method ofclaim 7 further comprising: transmitting, prior to transmitting saidrequest to said further server, a request to a database for an availablefurther server that is associated with said domain name.
 10. A method,associated with one of a domain name server and a database server, ofcontrolling the transfer of information via a network, said methodcomprising: receiving, from a server, a request for an available furtherserver that is associated with a service; said server and said availablefurther server each being associated with said service; transmitting, tosaid server, a network address for said available further server suchthat said server may transmit a request to said further server for saidfurther server to receive service requests from a client device; saidserver being currently designated to receive service requests from saidclient device.
 11. A method, associated with a server, of controllingthe transfer of information via a network, said method comprising:transmitting, to a database, a request for a quality of service levelassociated with a client device; receiving, from said database, saidquality of service level associated with said client device;transmitting, to a network, a request to provide said quality of servicelevel; and transmitting, when said request for said quality of servicelevel is accepted, a notification of said quality of service level tosaid client device.
 12. The method of claim 11 further comprising:receiving, prior to transmitting said request for said quality ofservice level associated with said client device, a service request fromsaid client device; and transmitting, to said client device, a responseto said service request; said response including an indication that saidnotification of said quality of service level is pending.
 13. The methodof claim 12 wherein said notification of said quality of service levelis transmitted before transmission of said response to said servicerequest is completed.
 14. The method of claim 11 further comprising:transmitting a request to a further server for said further server toreceive service requests from said client device; wherein saidnotification includes an indication to said client device that saidservice requests are to be directed to said further server.
 15. Amethod, associated with at least one network element of a network, ofcontrolling the transfer of information via said network, said methodcomprising: receiving, from one of a server and a client device, arequest to provide a quality of service level for said client device;transmitting, to a database, a request to verify that said quality ofservice level is associated with said client device; and transmitting,when said quality of service level is verified, a notification to saidone of said server and said client device that said request to providesaid quality of service level is accepted.
 16. A method, associated witha network, of controlling the transfer of information via said network,said method comprising: receiving, from one of a server and a clientdevice, a request to provide a quality of service level for said clientdevice; transmitting, to a database, a request to verify that saidquality of service level is associated with said client device; andtransmitting, when said quality of service level is verified, anotification to said one of said server and said client device that saidrequest to provide said quality of service level is accepted.
 17. Amethod, associated with a database server, of controlling the transferof information via a network, said method comprising: receiving, from atleast one of a network and a server, a request to verify whether aclient device is associated with a quality of service level; andtransmitting, to said at least one of said network and said server, aresponse to said request such that said network provides said quality ofservice level for said client device based on said response.
 18. Amethod, associated with a server, of controlling the transfer ofinformation via a network, said method comprising: receiving, from aclient device, a service request at a quality of service level;transmitting, to a database, a request to verify that said quality ofservice level is associated with said client device; and transmitting,when said quality of service level is verified, a response to saidclient device at said quality of service level.
 19. An apparatus,associated with a domain name system server, for controlling thetransfer of information via a network, said apparatus being configuredto: receive, from a client device, a request for a network address thatis associated with a service; select a respective one of a plurality ofnetwork addresses each of which corresponds to a respective one of aplurality of servers that are available to provide said service; andtransmit, to said client device, said respective one of said pluralityof network addresses so that said client device may transmit at leastone service request associated with said service that is to be directedto said respective one of a plurality of network addresses.
 20. Theapparatus of claim 19 further configured to: receive, from at least onefurther server, an indication that said further server is available toreceive requests associated with said service; and incorporate saidnetwork address of said further server into said plurality of networkaddresses.
 21. The apparatus of claim 20 wherein said indicationincludes at least one of: a network address of said further server, saidservice, and authentication and non-repudiation information.
 22. Theapparatus of claim 21 further configured to: transmit, to a database, arequest to determine whether said client device is associated with atleast one quality of service level; receive, from said database, aresponse to said request; and select said respective one of saidplurality of network addresses based on said response.
 23. An apparatus,associated with a database server, for controlling the transfer ofinformation via a network, said apparatus being configured to: receive,from a domain name server, a request to determine whether a clientdevice is associated with at least one quality of service level;transmit, to said domain name server, a response to said request suchthat said domain name server selects a respective one of a plurality ofnetwork addresses, each of which corresponds to a respective one of aplurality of servers that are available to provide a service based onsaid response.
 24. The apparatus of claim 23 wherein said quality ofservice level is further associated with said service.
 25. An apparatus,associated with a server that is currently designated to receive servicerequests from a client device, for controlling the transfer ofinformation via a network, said apparatus being configured to: transmita request to a further server for said further server to receive furtherservice requests from said client device; said server and said furtherserver each being associated with a service; receive a response fromsaid further server; and transmit, when said response is favorable, anindication to said client device that said further service requests areto be directed to said further server.
 26. The apparatus of claim 25further configured to: transmit, when said response is favorable, anindication to a domain name server that said server is unavailable toreceived service requests associated with said service.
 27. Theapparatus of claim 25 further configured to: transmit, prior totransmitting said request to said further server, a request to adatabase for an available further server that is associated with saiddomain name.
 28. An apparatus, associated with one of a domain nameserver and a database server, for controlling the transfer ofinformation via a network, said apparatus being configured to: receive,from a server, a request for an available further server that isassociated with a service; said server and said available further servereach being associated with said service; transmit, to said server, anetwork address for said available further server such that said servermay transmit a request to said further server for said further server toreceive service requests from a client device; said server beingcurrently designated to receive service requests from said clientdevice.
 29. An apparatus, associated with a server, for controlling thetransfer of information via a network, said apparatus being configuredto: transmit, to a database, a request for a quality of service levelassociated with a client device; receive, from said database, saidquality of service level associated with said client device; transmit,to a network, a request to provide said quality of service level; andtransmit, when said request for said quality of service level isaccepted, a notification of said quality of service level to said clientdevice.
 30. The apparatus of claim 29 further configured to: receive,prior to transmitting said request for said quality of service levelassociated with said client device, a service request from said clientdevice; and transmit, to said client device, a response to said servicerequest; said response including an indication that said notification ofsaid quality of service level is pending.
 31. The apparatus of claim 30wherein said notification of said quality of service level istransmitted before transmission of said response to said service requestis completed.
 32. The apparatus of claim 29 further configured to:transmit a request to a further server for said further server toreceive service requests from said client device; wherein saidnotification includes an indication to said client device that saidservice requests are to be directed to said further server.
 33. Anapparatus, associated with a network, for controlling the transfer ofinformation via said network, said apparatus being configured to:receive, from one of a server and a client device, a request to providea quality of service level for said client device; transmit, to adatabase, a request to verify that said quality of service level isassociated with said client device; and transmit, when said quality ofservice level is verified, a notification to said one of said server andsaid client device that said request to provide said quality of servicelevel is accepted.
 34. An apparatus, associated with a database server,for controlling the transfer of information via a network, saidapparatus being configured to: receive, from at least one of a networkand a server, a request to verify whether a client device is associatedwith a quality of service level; and transmit, to said at least one ofsaid network and said server, a response to said request such that saidnetwork provides said quality of service level for said client devicebased on said response.
 35. An apparatus, associated with a server, forcontrolling the transfer of information via a network, said apparatusbeing configured to: receive, from a client device, a service request ata quality of service level; transmit, to a database, a request to verifythat said quality of service level is associated with said clientdevice; and transmit, when said quality of service level is verified, aresponse to said client device at said quality of service level.
 36. Anapparatus, associated with a domain name service server, for controllingthe transfer of information via a network, said apparatus comprising:means for receiving, from a client device, a request for a networkaddress that is associated with a service; means for selecting arespective one of a plurality of network addresses each of whichcorresponds to a respective one of a plurality of servers that areavailable to provide said service; and means for transmitting, to saidclient device, said respective one of said plurality of networkaddresses so that said client device may transmit at least one servicerequest associated with said domain name that is to be directed to saidrespective one of a plurality of network addresses.
 37. An apparatus,associated with a database server, for controlling the transfer ofinformation via a network, said apparatus comprising: means forreceiving, from a domain name server, a request to determine whether aclient device is associated with at least one quality of service level;means for transmitting, to said domain name server, a response to saidrequest such that said domain name server selects a respective one of aplurality of network addresses, each of which corresponds to arespective one of a plurality of servers that are available to provide aservice based on said response.
 38. An apparatus, associated with aserver that is currently designated to receive service requests from aclient device, for controlling the transfer of information via anetwork, said apparatus comprising: means for transmitting a request toa further server for said further server to receive further servicerequests from said client device; said server and said further servereach being associated with a service; means for receiving a responsefrom said further server; and means for transmitting, when said responseis favorable, an indication to said client device that said furtherservice requests are to be directed to said further server.
 39. Anapparatus, associated with one of a domain name server and a databaseserver, for controlling the transfer of information via a network, saidapparatus comprising: means for receiving, from a server, a request foran available further server that is associated with a service; saidserver and said available further server each being associated with saidservice; means for transmitting, to said server, a network address forsaid available further server such that said server may transmit arequest to said further server for said further server to receiveservice requests from a client device; said server being currentlydesignated to receive service requests from said client device.
 40. Anapparatus, associated with a server, for controlling the transfer ofinformation via a network, said apparatus comprising: means fortransmitting, to a database, a request for a quality of service levelassociated with a client device; means for receiving, from saiddatabase, said quality of service level associated with said clientdevice; means for transmitting, to a network, a request to provide saidquality of service level; and means for transmitting, when said requestfor said quality of service level is accepted, a notification of saidquality of service level to said client device.
 41. An apparatus,associated with at least one network element of a network, forcontrolling the transfer of information via said network, said apparatuscomprising: means for receiving, from one of a server and a clientdevice, a request to provide a quality of service level for said clientdevice; means for transmitting, to a database, a request to verify thatsaid quality of service level is associated with said client device; andmeans for transmitting, when said quality of service level is verified,a notification to said one of said server and said client device thatsaid request to provide said quality of service level is accepted. 42.An apparatus, associated with a network, for controlling the transfer ofinformation via a network, said apparatus comprising: means fortransmitting, to a database, a request for a quality of service levelassociated with a client device; means for receiving, from saiddatabase, said quality of service level associated with said clientdevice; means for transmitting, to a network, a request to provide saidquality of service level; and means for transmitting, when said requestfor said quality of service level is accepted, a notification of saidquality of service level to said client device.
 43. An apparatus,associated with a database server, for controlling the transfer ofinformation via a network, said apparatus comprising: means forreceiving, from at least one of a network and a server, a request toverify whether a client device is associated with a quality of servicelevel; and means for transmitting, to said at least one of said networkand said server, a response to said request such that said networkprovides said quality of service level for said client device based onsaid response.
 44. An apparatus, associated with a server, forcontrolling the transfer of information via a network, said apparatuscomprising: means for receiving, from a client device, a service requestat a quality of service level; means for transmitting, to a database, arequest to verify that said quality of service level is associated withsaid client device; and means for transmitting, when said quality ofservice level is verified, a response to said client device at saidquality of service level.
 45. A readable medium, associated with adomain name system server, comprised of instructions for the transfer ofinformation via a network, said instructions comprising: instructionsfor receiving, from a client device, a request for a network addressthat is associated with a service; instructions for selecting arespective one of a plurality of network addresses each of whichcorresponds to a respective one of a plurality of servers that areavailable to provide said service; and instructions for transmitting, tosaid client device, said respective one of said plurality of networkaddresses so that said client device may transmit at least one servicerequest associated with said service that is to be directed to saidrespective one of a plurality of network addresses.
 46. The medium ofclaim 45 further comprising: instructions for receiving, from at leastone further server, an indication that said further server is availableto receive requests associated with said service; and instructions forincorporating said network address of said further server into saidplurality of network addresses.
 47. The medium of claim 46 wherein saidindication includes at least one of: a network address of said furtherserver, said service, and authentication and non-repudiationinformation.
 48. The medium of claim 45 further comprising: instructionsfor transmitting, to a database, a request to determine whether saidclient device is associated with at least one quality of service level;instructions for receiving, from said database, a response to saidrequest; and instructions for selecting said respective one of saidplurality of network addresses based on said response.
 49. A readablemedium, associated with a database server, comprised of instructions forthe transfer of information via a network, said instructions comprising:instructions for receiving, from a domain name server, a request todetermine whether a client device is associated with at least onequality of service level; instructions for transmitting, to said domainname server, a response to said request such that said domain nameserver selects a respective one of a plurality of network addresses,each of which corresponds to a respective one of a plurality of serversthat are available to provide a service, based on said response.
 50. Themedium of claim 49 wherein said quality of service level is furtherassociated with said service.
 51. A readable medium, associated with aserver that is currently designated to receive service requests from aclient device, comprised of instructions for the transfer of informationvia a network, said instructions comprising: instructions fortransmitting a request to a further server for said further server toreceive further service requests from said client device; said serverand said further server each being associated with a service;instructions for receiving a response from said further server; andinstructions for transmitting, when said response is favorable, anindication to said client device that said further service requests areto be directed to said further server.
 52. The medium of claim 51further comprising: instructions for transmitting, when said response isfavorable, an indication to a domain name server that said server isunavailable to received service requests associated with said service.53. The medium of claim 51 further comprising: instructions fortransmitting, prior to transmitting said request to said further server,a request to a database for an available further server that isassociated with said domain name.
 54. A readable medium, associated withone of a domain name server and a database server, comprised ofinstructions for the transfer of information via a network, saidinstructions comprising: instructions for receiving, from a server, arequest for an available further server that is associated with aservice; said server and said available further server each beingassociated with said service; instructions for transmitting, to saidserver, a network address for said available further server such thatsaid server may transmit a request to said further server for saidfurther server to receive service requests from a client device; saidserver being currently designated to receive service requests from saidclient device.
 55. A readable medium, associated with a server,comprised of instructions for the transfer of information via a network,said instructions comprising: instructions for transmitting, to adatabase, a request for a quality of service level associated with aclient device; instructions for receiving, from said database, saidquality of service level associated with said client device;instructions for transmitting, to a network, a request to provide saidquality of service level; and instructions for transmitting, when saidrequest for said quality of service level is accepted, a notification ofsaid quality of service level to said client device.
 56. The medium ofclaim 55 further comprising: instructions for receiving, prior totransmitting said request for said quality of service level associatedwith said client device, a service request from said client device; andinstructions for transmitting, to said client device, a response to saidservice request; said response including an indication that saidnotification of said quality of service level is pending.
 57. The mediumof claim 56 wherein said notification of said quality of service levelis transmitted before transmission of said response to said servicerequest is completed.
 58. The medium of claim 55 further comprising:instructions for transmitting a request to a further server for saidfurther server to receive service requests from said client device;wherein said notification includes an indication to said client devicethat said service requests are to be directed to said further server.59. A readable medium, associated with at least one network element of anetwork, comprised of instructions for the transfer of information viasaid network, said instructions comprising: instructions for receiving,from one of a server and a client device, a request to provide a qualityof service level for said client device; instructions for transmitting,to a database, a request to verify that said quality of service level isassociated with said client device; and instructions for transmitting,when said quality of service level is verified, a notification to saidone of said server and said client device that said request to providesaid quality of service level is accepted.
 60. A readable medium,associated with a network, comprised of instructions for the transfer ofinformation via said network, said instructions comprising: instructionsfor receiving, from one of a server and a client device, a request toprovide a quality of service level for said client device; instructionsfor transmitting, to a database, a request to verify that said qualityof service level is associated with said client device; and instructionsfor transmitting, when said quality of service level is verified, anotification to said one of said server and said client device that saidrequest to provide said quality of service level is accepted.
 61. Areadable medium, associated with a database server, comprised ofinstructions for the transfer of information via a network, saidinstructions comprising: instructions for receiving, from at least oneof a network and a server, a request to verify whether a client deviceis associated with a quality of service level; and instructions fortransmitting, to said at least one of said network and said server, aresponse to said request such that said network provides said quality ofservice level for said client device based on said response.
 62. Areadable medium, associated with a server, comprised of instructions forthe transfer of information via a network, said instructions comprising:instructions for receiving, from a client device, a service request at aquality of service level; instructions for transmitting, to a database,a request to verify that said quality of service level is associatedwith said client device; and instructions for transmitting, when saidquality of service level is verified, a response to said client deviceat said quality of service level.